//
//  ArrayDataSource.h
//  27-ArrayDataSource
//
//  Created by dllo on 16/8/19.
//  Copyright © 2016年 DM.C. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
// 重定义, Block
// 无返回值
// 参数1: 自定义Cell/系统Cell
// 参数2: model赋值类
typedef void (^ __nonnull ConfigCell)(UITableViewCell *cell, id model);
// 该类需要签订 UITableViewDataSource协议
@interface ArrayDataSource : NSObject<UITableViewDataSource>
// 自定义数据源初始化方法
// 参数1: 重用池标识, 给协议方法使用
// 参数2: 数组, 数据源-----model(赋值类)
// 参数3: 处理Cell的Block --- CallBack 回调
- (instancetype)initWithTableViewCellReuse:(NSString *)reuse
                           arrayDataSource:(NSArray *)array
                                configCell:(ConfigCell)configCell;
// 数据源的构造器方法
+ (instancetype)arrayDataSourceWithTableViewCellReuse:(NSString *)reuse
                                      arrayDataSource:(NSArray *)array
                                           configCell:(ConfigCell)configCell;

NS_ASSUME_NONNULL_END

@end
